package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;

import java.util.List;

/**
 * @author Jt
 * @date 2021/4/15 17:12
 */
public interface WmNewsService extends IService<WmNews> {

    /**
     * 查询所有自媒体文章
     * @param wmNewsPageReqDto
     * @return
     */
    ResponseResult findAll (WmNewsPageReqDto wmNewsPageReqDto);

    /**
     * 保存或修改自媒体文章
     * @param wmNewsDto 文章数据
     * @param isSubmit 是否提交 1 提交 0 草稿
     * @return
     */
    ResponseResult submitNews(WmNewsDto wmNewsDto, Short isSubmit);

    /**
     * 根据id获取文章信息
     * @param id
     * @return
     */
    ResponseResult findWmNewsById (Integer id);

    /**
     * 根据id删除文章
     * @param id
     * @return
     */
    ResponseResult delNews(Integer id);

    /**
     * 上下架
     * @param dto
     * @return
     */
    ResponseResult downOrUp(WmNewsDto dto);

    /**
     * 查询需要发布的文章id列表
     * @return
     */
    List<Integer> findRelease();

    /**
     * 查询文章列表
     * @param dto
     * @return
     */
    ResponseResult findList (NewsAuthDto dto);

    /**
     * 查询文章详情
     * @param id
     * @return
     */
    ResponseResult findWmNewsVo(Integer id);

    /**
     *  自媒体文章人工审核
     * @param status  2  审核失败  4 审核成功
     * @param dto
     * @return
     */
    public ResponseResult updateStatus(Short status, NewsAuthDto dto);

}
